案例4.6 视频教程
题目:试选择4个UCI数据集,对上述3种算法所产生的未剪枝、预剪枝、后剪枝决策树进行实验比较,并进行适当的统计显著性检验。
**
步骤1:在“项目模板”中找到周志华习题,打开第四章决策树习题案例.3和4.4,创建模板。
步骤2:在常用数据集中找到“乳癌数据”,作为本次模板的数据集。
步骤3:在全部组件列表中找到“数据拆分CSV”模块,在“参数设置”中将数据1比重和数据2比重设置为0.8:0.2,数据1作为训练集,数据2作为测试集。
步骤4:在全部组件列表中找到“决策树分类DecisionTreeClassifer”模块,在参数设置的criterion中选择gini基尼指数作为纯度。这里用到的是CART算法。CART(classification and regression tree)算法,二元切分法。采用基尼指数gini来选择最好的数据分割的特征,gini描述的是纯度,与信息熵的含义相似。
步骤5:在全部组件列表中找到“模型预测”模块设置特征字段和预测字段。
步骤6:在全部组件列表中找到“分类评估”模块,因为CART算法采用的是二元切分法,所以可以采用分类评估组件,用于二分类模型预测结果的评估。“参数设置”中的评估指标不设置,最终会有所有的具体数据,在字段设置中的“标签列”输入“cancer”,预测列输入prediction。总体来说后剪枝会比预剪枝保留更多的分支。剪枝操作是提升模型泛化能力的重要途径。
步骤7:运行完所有步骤程序,点击“分类评估”组件,可以查看所有结果。根据具体题目需要的数据,可以在“评估指标”中增减删改。此模型的优势是,当输出之间没有相关性时,仍旧可以通过建立一个模型来同时预测n个输出的每个模型。通过添加VS Code Python 组件编写代码可以查看未剪枝,预剪枝,后剪枝对测试样本的输出结果。